Recovering Runtime Structures of Software Systems from Static Source Code

نویسندگان

  • Thomas E. Forster
  • Thorsten Keuler
  • Jens Knodel
چکیده

While software building blocks and their interdependencies can be recovered from the source code using static fact extraction, behavior and communication paths at runtime are typically gathered from instrumented executions of the system. However, more often than not it is not possible to retrieve data from the running system – either due to a high effort for instrumentation, missing (hardware) infrastructure, or because of advanced communication mechanisms hidden by middleware, frameworks or platforms. In this paper, we present an approach to semiautomatically reconstruct runtime components and connectors using source code analysis, pattern matching, and expert knowledge. We present two applications where we could recover runtime communication paths and component interactions despite the absence of runtime traces.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Integration of Runtime Profiling and Static Code Analysis in Linux

This paper describes a method for profiling large systems software on a Linux platform. Based on runtime profiling results, the bottleneck source code gets analyzed statically, thus identifying the poor algorithms that caused the low performance. Employing of various tools used to profile the case study application leads to the conclusion of increasing importance for integrating code analysis w...

متن کامل

Active Clones: Source Code Clones at Runtime

Code cloning is a common programming practice, and there have been a considerable amount of research that investigated the implications of code clones on software maintenance using static analysis. However, little has been done to investigate the runtime implications of code cloning. In this paper we investigate source code clones at runtime, referring to clones as ‘active clones’ if they are i...

متن کامل

Architecture Recovery for Distributed Systems

The ability to recover up-to-date architectural information from existing software artifacts is key to effective software maintenance, reengineering and reuse. Although architecture recovery can be facilitated with the help of current reverse engineering techniques and tools, many issues remain to be properly addressed, particularly regarding recovery of runtime abstractions (e.g., clients, ser...

متن کامل

Recovering UML Diagrams from Java Code using Patterns

Recovering the static structure of legacy source code e.g. as an UML class diagram is quite well understood. In contrast, recovering high-level behaviour diagrams from source code is still an open issue. This paper proposes to use fuzzy pattern detection techniques for the recovery of UML collaboration diagrams from source code. The approach is based on a knowledge base of basic datatypes and o...

متن کامل

Constructing a Hybrid Taint Analysis Framework for Diagnosing Attacks on Binary Programs

For the purpose of discovering security flaws in software, many dynamic and static taint analyzing techniques have been proposed. By analyzing information flow at runtime, dynamic taint analysis can precisely find security flaws of software. However, on one hand, it suffers from substantial runtime overhead and is incapable of discovering the potential threats. On the other hand, static taint a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Softwaretechnik-Trends

دوره 33  شماره 

صفحات  -

تاریخ انتشار 2013